package com.fusuhai.service;

import com.fusuhai.bean.UserBean;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.util.List;


public interface UserService {
    /**
     *登录
     * @param userName 账号
     * @param userPwd 密码
     * @return 登陆对象
     */
    UserBean login( String userName,
                    String userPwd);
    /**
     * 登陆界面注册用户
     * @param userBean  用户实体
     */
    void addUser(UserBean userBean);

    /**
     * 通过用户id删除用户信息
     * @param userId 用户id
     */
    @Delete("DELETE FROM user WHERE user_id=#{userId}")
    void deleteUser(int userId);

    /**
     * 通过用户id更改用户密码
     * @param userId   用户Id
     * @param newPwd    新密码
     */
    void updateUser(@Param("userId") int userId,
                    @Param("pwd")String newPwd);

    /**
     * 根据用户权限等级 分页查询用户
     * @param pageNO 页码
     * @param pageSize 每页显示条数
     * @param userLevel 用户权限等级
     * @return 用户实体
     */
    PageInfo<UserBean> selectLevel(int pageNO, int pageSize, String userLevel);


    void addDate( String userAccount, LocalDate date);

    PageInfo<UserBean> selectDate(int pageNO, int pageSize,
                                  LocalDate sDate,
                                  LocalDate eDate);


    PageInfo<UserBean> selectAllDate(int pageNO, int pageSize);
}
